perm filename REACT.DOC[HAL,HE]1 blob
sn#123611 filedate 1974-10-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00012 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 This file is a compendium of comments received concerning the
C00004 00003 QUESTIONS CONCERNING PHILOSOPHY OF THE HAL SYSTEM
C00005 00004 QUESTIONS CONCERNING IMPLEMENTATION
C00006 00005 SUGGESTIONS FOR NEW FEATURES
C00007 00006 WORDING AND CLARIFICATION SUGGESTIONS
C00009 00007 CONFUSION ABOUT FORCE AND FREE
C00010 00008 COMPLAINTS ABOUT PLANNING
C00012 00009 COMPLAINTS ABOUT EXECUTION
C00013 00010 DISCOMFORT WITH THRUST OF LANGUAGE
C00015 00011 ORDERING IN THE DOCUMENT
C00016 00012 QUESTIONS ABOUT SPECIFIC CONSTRUCTS, AND THEIR MEANINGS
C00017 ENDMK
C⊗;
This file is a compendium of comments received concerning the
HAL paper. Please add your comments and identify yourself!
QUESTIONS CONCERNING PHILOSOPHY OF THE HAL SYSTEM
factory can afford 10?
do you want software servoing, or does hardware often
suffice?
textual as opposed to spoken/joystick input puts a burden on
the programmer (must be able to type, learn the syntax)
assume that bulk of man-machine interaction is symbolic.
assume large comutational facilities necessary and will be
available.
assume need impressive user services (sequencing, collision
avoidance, general "guessing games")
assume threshold tests suffice for assembly with sensory
feedback.
QUESTIONS CONCERNING IMPLEMENTATION
how does servo predictor find consecutive time slots?
Are we using structured programming techniques?
why not use DEC 11 software, like RSX-11?
what is minimum 11 configuration necessary?
how are discrepancies between planned and real values
discovered?
how are plans modified to accomodate discrepancies?
how can you implement loops and procedures and maintain
planning values?
If a motion can be stopped on time, distance, force, then
does one have priority, or does motion stop as soon as one is
tripped?
SUGGESTIONS FOR NEW FEATURES
need general I/O with arbitrary devices (effectors, sensors,
storage devices), e.g. "effector[3] ← 2*sensor[2]"
do we have USING WOBBLE?
need data logging ability (trend analysis, drift detection)
WORDING AND CLARIFICATION SUGGESTIONS
p23l1: vector → end point of vector
need to change name. HAL/S property of Intermetrics /NASA.
asserts are never explained. For example, are FITS INTO
reserved words? Does the compiler really understand them? Does the
compiler create some ASSERTS itself?
Def. of TRANS (p.23) opaque. Use many terms before defined.
we confuse principal and principle.
Example of COMPILE ERROR is confusing. Why would you ever
need this?
We use ∂ without defining it. ATTACH and ASSERT are used too
much before being defined.
Never defined FRAME * VECTOR, but used it.
Why do we use DEPROACH, APPROACH, and DEPARTURE? It would
seem that the former precludes the others.
Out of WITH, THROUGH, and USING, two can be eliminated.
Switch description of ASSERT to active, to unfog who does
what when and with what effect. (p.36)
Too much jargon in runtime overview, control structures.
(disappears, life, sprouts)
do we distinguish upper and lower case?
CONFUSION ABOUT FORCE AND FREE
confusion about FREE. Does it only free joints, or
directions? How about freeing about axis instead of in cardinal
direction?
what does MOVE USING FORCE really do?
Cannot reconcile USING FORCE with MOVE.
How can you force and free in the same direction?
Clearly FORCE and FREE are figments of Victor's arm, since
they must be in orthogonal directions related to direction of
motion.
COMPLAINTS ABOUT PLANNING
planning described in superficial way for very unstructured
environment.
world seems unstructured. But manufacturing world is
structured.
not clear how many of the high level planning features will
be necessary.
assymetry between planning and execution. Seems that main
software activity is the planning; execution seems at a primitive
level.
elaborateness of HAL seems premature.
Asking system to choose proper orienttion or task sequences
seems like unnecessary guessaing game, if trained operator is
present. Utilized his experience.
Why do COMPILE IF FACT (BLUE HOLDS ANYTHING) if can check a
globally known status word?
COMPLAINTS ABOUT EXECUTION
execution phase not detailed except as "calles to external
devices" (p.3) That is, need to be able to interface low level
(sensors, devices) into control loop efficiently, as well as to
program its use.
a higher control level should deal with visual systems, slow
sensors which cannot be put into control loop due to inefficiency.
predictor-servo cannot possibly operate fast enough to handle
intermittent contact with a solid object. Only thing that allows
stability is passive accomodation of implementing hardware.
DISCOMFORT WITH THRUST OF LANGUAGE
most information is absolute motions, locations, complete
object descriptions, instead of partial, relative, local.
seems ultamate result will be a pseudo person who will see
scene, have imperfect joint servos requiring lots of searching,
discover unfelicitous conditions and correct them. Seems to imply
need learning and generalizatin abilities.
our language stems from software-rich environment, with
cooperative assembly parts (specially made), and uncooperative arm.
But much of assembly and assembler machinery goes beyond that.
How many levels does HAL have, anyway? Which does this
manual describe? Clear up all such references.
ORDERING IN THE DOCUMENT
should lay out the central philosophy of plan-then-move in
full at the beginning, not scattered. Much of VHL belongs at
beginning too.
section 4.8 (library routines) seems out of place. Should be
moved earlier.
QUESTIONS ABOUT SPECIFIC CONSTRUCTS, AND THEIR MEANINGS
the tie-bars are invisible.
What does ⊗ mean if two arms are in motion?
Note that signal and wait are hardware primitives on
Unimates.
What happens in MOVE FROB if FROB is not attached?
Isnt USING DURATION ≥ 3 risky?
When is a symmetric attachment appropriate?
What is a calculator expression? (p. 37)